﻿using Microsoft.AspNetCore.Components.Web;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ERP.Workflow.Designer.BlazorUI.Core
{
    public interface IEventArg
    {
        public object? Sender { get; set; }
        public object? Data { get; set; }
    }

    public abstract class EventBaseArg<TEvent> : IEventArg
    {
        public object? Sender { get; set; }
        public object? Data { get; set; }
        public TEvent? Event { get; set; }
    }
    public class PropertyChangeEventArg
    {
        public object? Data { get; set; }
        public string? FieldName { get; set; }
        public object? Value { get; set; }
    }
    public class ClickTitleEventArg : EventBaseArg<MouseEventArgs>
    {
    }
    public class NewEventArg : EventBaseArg<MouseEventArgs>
    {
    }
    public class SaveEventArg : EventBaseArg<MouseEventArgs>
    {
    }
    public class RefreshEventArg : EventBaseArg<MouseEventArgs>
    {

    }

}
